////https://www.luogu.com.cn/problem/P1901
//
//#include<iostream>
//#include<stack>
//using namespace std;
//
//const int N = 1e6 + 10;
//int h[N], ret[N], v[N];
//stack<int> s;
//int main()
//{
//	int n; cin >> n;
//	for (int i = 1; i <= n; i++) cin >> h[i] >> v[i];
//
//	for (int i = 1; i <= n; i++)
//	{
//		while (s.size() && h[s.top()] <= h[i]) s.pop();
//		if (s.size()) ret[s.top()] += v[i];
//		s.push(i);
//	}
//
//	while (s.size()) s.pop();
//
//	for (int i = n; i >= 1; i--)
//	{
//		while (s.size() && h[s.top()] <= h[i]) s.pop();
//		if (s.size()) ret[s.top()] += v[i];
//		s.push(i);
//	}
//
//	int maxi = 0;
//	for (int i = 1; i <= n; i++)
//		if (ret[i] > ret[maxi])
//			maxi = i;
//
//	cout << ret[maxi];
//	return 0;
//}